pooler-logs.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { useParams } from 'common'
  2. import { parseAsString, useQueryState } from 'nuqs'
  3. import { LogoLoader } from 'ui'
  4. import { LogsTableName } from '@/components/interfaces/Settings/Logs/Logs.constants'
  5. import { LogsPreviewer } from '@/components/interfaces/Settings/Logs/LogsPreviewer'
  6. import DefaultLayout from '@/components/layouts/DefaultLayout'
  7. import LogsLayout from '@/components/layouts/LogsLayout/LogsLayout'
  8. import { useSupavisorConfigurationQuery } from '@/data/database/supavisor-configuration-query'
  9. import type { NextPageWithLayout } from '@/types'
  10. export const LogPage: NextPageWithLayout = () => {
  11. const { ref } = useParams()
  12. const [identifier] = useQueryState('db', parseAsString)
  13. const { isPending: isLoading } = useSupavisorConfigurationQuery({ projectRef: ref ?? 'default' })
  14. // this prevents initial load of pooler logs before config has been retrieved
  15. if (isLoading) return <LogoLoader />
  16. return (
  17. <LogsPreviewer
  18. condensedLayout
  19. queryType="supavisor"
  20. projectRef={ref as string}
  21. tableName={LogsTableName.SUPAVISOR}
  22. filterOverride={!!identifier ? { identifier } : undefined}
  23. />
  24. )
  25. }
  26. LogPage.getLayout = (page) => (
  27. <DefaultLayout>
  28. <LogsLayout title="Pooler Logs">{page}</LogsLayout>
  29. </DefaultLayout>
  30. )
  31. export default LogPage